Hard disk drives use spindle motors to spin a number of magnetic disks past a number of read/write heads. The read/write heads follow tracks on the magnetic disks during track following operations. The spindle motor introduces spindle harmonics into the motion of the magnetic disks. These spindle harmonics cause tracking error known as "repeatable runout." Eliminating the repeatable runout from the tracking error in a disk drive is a common problem facing the hard disk drive designer. Conventional methods use an algorithm which measures the amplitude and phase of the repeatable runout to be eliminated or canceled. A feedforward signal based on the measured phase and amplitude is injected into the system that causes the head to track the disk motion for that harmonic, eliminating it from the tracking error. The injected signal can be calculated from parameters of the control system, or the measurement can be made repeatedly and an approximate injection signal refined over several iterations until the repeatable runout is reduced to an acceptable level. This process is repeated for each head, and the magnitude and phase is stored in memory during a calibration procedure that is done during drive power up, and possibly other defined times. These values are then used whenever the head is selected.
A disadvantage to these systems is that the repeatable runout may change phase and magnitude during normal operation of the drive. Temperature changes are the most likely cause of such shifts. This causes the previous calibration and cancellation of the runout to be wrong, possibly making it worse than if there were no cancellation at all. This requires the drive to either periodically initiate a calibration to detect any changes, or to use an error detecting scheme to decide when to calibrate. In either case, the normal operation of the drive is interrupted, since the calibration can take on the order of seconds to complete.
Schemes that accomplish a continuous cancellation of a repeatable signal are well known. These methods add two state variables that form an oscillator with feedback that conceptually works as an integrator does to eliminate DC bias. This oscillator integrates the error at the harmonic frequency and applies a canceling drive to the actuator, the advantage being that it operates continuously and responds to any changes in the harmonic at a rate that is determined by the normal control system tuning procedures. The cancellation scheme is integrated seamlessly with a standard state space design, allowing for all the well known design procedures to be applied, such as pole placement. Since it adapts itself to the magnitude and phase of the harmonic continuously, the need for an initial calibration procedure is eliminated.
A difficulty arises during initialization of these state variables when a new head is selected--i.e. a head switch is performed. After a new head is selected, the canceler states still apply to the prior head because each head represents a new gain factor in the system. Thus, without initialization, the canceler does not remove the runout error. Further, the state variables are applied according to the angular location of an upcoming servo wedge in a sampled servo system. Considering that there may be 60 or more servo wedges dispersed along a track, and perhaps 4 or more heads, the time and storage requirements for initialization of the variables is significant.
What is needed is a method for initializing the states of the repeatable runout canceler in a digital control system when switching heads that is efficient from a time and storage perspective.